package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.OrderBean;

import java.time.LocalDate;
import java.util.List;

public interface IOrderService {
    /**
     * 根据用户id分页查询所有订单
     * @param id
     * @param pageNo  页码
     * @return
     */
    public IPage<OrderBean> findAllByID(Integer id,int pageNo);

    /**
     * 根据订单id，查询订单信息，同时查询明细，在订单明细中，需要查询购买商品编号，商品名
     * 单价
     * @param id 订单id
     * @return
     */
    public OrderBean findById(int id);

    public int PAGESIZE = 3;
    /**
     * 添加新订单，增加订单明细，清空该用户的购物信息
     * @param orderBean
     * @param userId 登录用户id
     */
    public void add(OrderBean orderBean,Integer userId);

    /**
     * 管理员动态条件查询所有订单
     * @param status
     * @param startDate
     * @param endDate
     * @param pageNO
     * @return
     */
    public IPage<OrderBean> findByItem(String status, LocalDate startDate,LocalDate endDate,int pageNO);

    /**
     * 按订单id修改订单状态
     * @param orderId
     * @param status
     */
    public void updateStatus(int orderId,String status);

    /**
     * 查询所有发货中的订单
     * @return
     */
    public List<OrderBean> findBySend();

}
